var NhapHang = {

    HienThiHuongDan: function(rows){
        if (rows > 0){
            $('#nhaphang-info').hide();
            $('#button-nhaphang').prop('disabled', false);
        } else{
            $('#nhaphang-info').show();
            $('#button-nhaphang').prop('disabled', true);
        }
    },
    NhapMoi: function(){
        $('#container').html('').attr('data-text', 1);
        $('#ghichu').val('');
        $('#nhap-ma-nhanh').prop('disabled', false);
        this.HienThiHuongDan(0);
    },
    NhapMaNhanh: function(txt, e){
        if (e.keyCode != 13)
            return;

        txt = $(txt);
        if (txt.val() == ''){
            txt.effect('highlight', {color: '#ffd5ad'}, 600).effect('highlight', {color: '#ffd5ad'}, 600);
            return;
        }
        txt.prop('disabled', true);

        QuanLyBanHangStatic.changeMessage('Thông báo', 'Đang tải thông tin mặt hàng...', 'fa-spin fa-refresh');
        QuanLyBanHangStatic.showMessageBox(false);

        $.get(QuanLyBanHangStatic.baseURL + 'MatHang/ThongTinMatHangTheoMa/' + txt.val(), function (data) {
            if (data){
                data = JSON.parse(data);
                var size = data.length;
                if (size > 0){
                    for (var i = 0; i < size; i++){
                        NhapHang.ThemMatHang(data[i]);
                    }
                    QuanLyBanHangStatic.showMessageBox(true, 1);
                }  else {
                    QuanLyBanHangStatic.changeMessage('Thông báo', 'Không tìm thấy mặt hàng có mã: <b>' + txt.val() + '</b>');
                    QuanLyBanHangStatic.showMessageBox(true, 3000);
                }
                txt.prop('disabled', false).val('');
                txt.focus();
            } else{
                QuanLyBanHangStatic.changeMessage('Thông báo', 'Đã có lỗi xảy ra, vui lòng thử lại!');
                QuanLyBanHangStatic.showMessageBox(true, 3000);
            }
        });
    },
    ThemMatHang: function(data){
        //console.log(data);

        var table = $('#table-nhaphang');
        var container = table.find('#container');

        if (container.attr('data-text') == 0){
            QuanLyBanHangStatic.changeMessage('Thông báo', 'Đang ở chế độ xem. Vui lòng bấm <b>Làm mới</b> để nhập kho mới');
            QuanLyBanHangStatic.showMessageBox(true, 3000);
            return;
        }

        if (container.find('#row-' + data.id).length == 0){
            var defaultRow = table.find('#default-row');
            var row = defaultRow.clone();
            row.attr('id', 'row-' + data.id).addClass('rows');

            row.attr('data-text', data.id);

            var numberOfRow = table.find('.rows').length;

            row.find('.so-thu-tu').html(numberOfRow + 1);
            row.find('.ten-mat-hang').html(data.ten);
            row.find('.don-vi-tinh').html(data.donvitinh);



            row.appendTo(container).show();

            this.HienThiHuongDan(numberOfRow + 1);
        } else{
            container.find('#row-' + data.id).effect('highlight', {color: '#ffd5ad'}, 600).effect('highlight', {color: '#ffd5ad'}, 600);
        }


    },
    CapNhatSoThuTu: function(){
        var table = $('#table-nhaphang');
        table.find('.rows').each(function(index){
            $(this).find('.so-thu-tu').html(index + 1);
        });
    },
    CheckSoLuongNhap: function(e){
        QuanLyBanHangStatic.checkNumberInput(e);
    },
    XoaDong: function(obj){
        obj = $(obj).parent();
        var tbody = obj.parent();
        obj.fadeOut(300);

        var callback = function(){
            obj.remove();
            NhapHang.HienThiHuongDan($('#table-nhaphang').find('.rows').length);
            NhapHang.CapNhatSoThuTu();
        };
        setTimeout(callback, 300);
    },

    NhapKho: function(){
        var button = $('#button-nhaphang');
        button.prop('disabled', true);
        button.find('.button-loading').show();
        var table = $('#table-nhaphang');

        var listMatHang = Array();
        var listSoLuong = Array();

        table.find('.rows').each(function(index){
            var soluong = $(this).find('.so-luong-nhap');
            if (soluong.val() == ''){
                soluong.val('0');
            }
            listMatHang.push($(this).attr('data-text'));
            listSoLuong.push(soluong.val());

        });

        var ghichu = $('#ghichu').val();


        $.post(QuanLyBanHangStatic.baseURL + 'MatHang/luuNhapKho', { GhiChu: ghichu, MatHang: listMatHang, SoLuong: listSoLuong }, function (d) {
            var obj = JSON.parse(d);

            var container = $('#view-nhaphang-container');
            var row = container.parent().find('.default-row').clone();
            row.removeClass('default-row');
            row.attr('id', 'nhapkho-row-' + obj.id);
            row.find('.thoigian-nhaphang').html(obj.thoigiannhap);
            row.find('.xem-chi-tiet').attr('data-text', obj.id);


            row.prependTo(container);
            row.show();




            setTimeout(function(){
                $('html, body').animate({
                    scrollTop: $("#nhapkho-row-" + obj.id).offset().top
                }, 500);

                row.effect('highlight', {color: '#ffd5ad'}, 600)
                    .effect('highlight', {color: '#ffd5ad'}, 600);
                button.prop('disabled', false);
                button.find('.button-loading').hide();
            }, 500);


        });

    },
    XemChiTietNhapKho: function(element){
        element = $(element);
        element.prop('disabled', true);
        element.find('.xem-chi-tiet-loading').show();
        element.find('.xem-chi-tiet-checked').hide();

        var id = element.attr('data-text');
        $('#button-nhaphang').prop('disabled', true);
        $('#nhap-ma-nhanh').prop('disabled', true);

        var table = $('#table-nhaphang');
        var container = table.find('#container');
        container.attr('data-text', 0).html('');
        $.get(QuanLyBanHangStatic.baseURL + 'MatHang/ChiTietNhapKho/' + id, function (d) {
            element.find('.xem-chi-tiet-loading').hide();
            element.find('.xem-chi-tiet-checked').show();
            element.prop('disabled', false);

            var obj = JSON.parse(d);
            console.log(obj);

            var size = obj.length;

            var ghichu = $('#ghichu');
            var defaultRow = table.find('#default-row');
            for (var i = 0; i < size; i++){
                var row = defaultRow.clone();
                row.attr('id', 'row-' + obj[i].id).addClass('rows');

                row.attr('data-text', obj[i].id);


                row.find('.so-thu-tu').html(i + 1);
                row.find('.ten-mat-hang').html(obj[i].ten);
                row.find('.don-vi-tinh').html(obj[i].donvitinh);


                row.find('.xoa-dong').html('');

                row.find('.so-luong-nhap').val(obj[i].soluong).prop('readonly', true);

                row.appendTo(container).show();


                ghichu.val(obj[i].ghichu);
                NhapHang.HienThiHuongDan(i + 1);
            }

            $('html, body').animate({
                scrollTop: $("#table-nhaphang").offset().top
            }, 1000);

            setTimeout(function(){
                container.effect('highlight', {color: '#ffd5ad'}, 600)
                    .effect('highlight', {color: '#ffd5ad'}, 600);
                $('#button-nhaphang').prop('disabled', true);
            }, 500);

        });
    },
    DanhSachNhapKho: function(button){
        button = $(button);
        button.prop('disabled', true);
        button.find('.fa-loading').show();

        $.get(QuanLyBanHangStatic.baseURL + 'MatHang/DanhSachNhapKho', function (d) {
            var list = JSON.parse(d);
            console.log(list);
            var container = $('#view-nhaphang-container');

            container.html('');

            var size = list.length;
            if (size > 0){
                for (var i = 0; i < size; i++){
                    var row = container.parent().find('.default-row').clone();
                    row.removeClass('default-row');
                    row.attr('id', 'nhapkho-row-' + list[i].id);

                    row.find('.so-thu-tu').html(i + 1);
                    row.find('.thoigian-nhaphang').html(list[i].thoigiannhap);
                    row.find('.xem-chi-tiet').attr('data-text', list[i].id);


                    row.appendTo(container);
                    row.show();
                }


                setTimeout(function(){
                    container.effect('highlight', {color: '#ffd5ad'}, 600)
                        .effect('highlight', {color: '#ffd5ad'}, 600);
                    $('#button-nhaphang').prop('disabled', true);
                }, 500);

            } else{
                QuanLyBanHangStatic.changeMessage('Thông báo', 'Chưa có lần nhập kho nào');
                QuanLyBanHangStatic.showMessageBox(true, 3000);
            }

            button.hide();




        });
    }
};

$(function(){
    $('#tree')
        .jstree({
            'core' : {
                'data' : {
                    'url' : QuanLyBanHangStatic.baseURL + 'MathangTree?operation=get_node',
                    'data' : function (node) {
                        return { 'id' : node.id };
                    }
                },
                'check_callback' : true,
                'themes' : {
                    'responsive' : false
                },
                'multiple' : false
            },
            "types": {
                "drive": {
                    "icon": "fa tree-drive",
                    valid_children: ["folder"]
                },
                "default": {
                    "icon": "fa tree-file",
                    valid_children: "none"
                },
                "folder": {
                    "icon": "fa tree-folder",
                    valid_children: ["folder", "default"]
                }
            },
            'plugins' : [/*'state',*/ 'types', 'sort']
        })
        .on('changed.jstree', function (e, data) {
            if (data.event != undefined){
                if (data.node.type == 'default'){
                    $.get(QuanLyBanHangStatic.baseURL + 'MathangTree?operation=get_data&id=' + data.node.id, function (data) {
                        if (data){
                            NhapHang.ThemMatHang(data);
                        } else{
                            QuanLyBanHangStatic.changeMessage('Thông báo', 'Đã có lỗi xảy ra, vui lòng thử lại!');
                            QuanLyBanHangStatic.showMessageBox(true, 3000);
                        }
                    });
                } else if (data.node.type == 'folder'){

                } else{

                }
            }

        });

});